#ifndef MAINWINDOW_H
#define MAINWINDOW_H
//头文件和命名空间
#include <QMainWindow>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlRecord>
#include <QMessageBox>
#include <QStandardItemModel>
#include "nbook.h"
#include "norder.h"
#include "nstore.h"
#include "nclient.h"
#include "ibook.h"
#include "sendok.h"
#include "help.h"
#include "about.h"

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

//窗口函数
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);//构造
    ~MainWindow();//析构
    void onDisConnectDatabases();//断开数据库
    Nbook * nbook;
    norder * norder;
    nstore * nstore;
    nclient * nclient;
    ibook * ibook;
    sendok * sendok;
    help * help;
    about * about;

private:
    QString currentTable; // 当前显示的表名
    QString key;
    void loadTableData(const QString &tableName); // 加载指定表的数据

private slots:
    void onConnectDatabases();//连接数据库
    //刷新列表
    void refBookList();
    void refClientList();
    void refBuyList();
    void refSaveList();
    void refOrderList();
    void refSendList();
    void refStoreList();

    void onSelected(const QModelIndex &index);//选中左侧项
    void NewBook();//添加新书
    void NewOrder();
    void NewStore();
    void NewClient();
    void NewSave();
    void NewSend();
    void NewHelp();
    void NewAbout();


    void delSelect();

    void SearchShow();



private: //其他模板和函数
    Ui::MainWindow *ui;
    QStandardItemModel *model;
    QStandardItemModel *infoModel;
};
#endif // MAINWINDOW_H
